From aa717d803eb5442c0ab9c6f078b6ff2078092bae Mon Sep 17 00:00:00 2001 From: Ayan Kumar Halder Date: Thu, 27 Oct 2022 20:09:13 +0100 Subject: [PATCH] xen/arm: vGICv3: Restore the interrupt state correctly As "spin_lock_irqsave(&v->arch.vgic.lock, flags)" saves the current interrupt state in "flags", "spin_unlock_irqrestore(&v->arch.vgic.lock, flags)" should be used to restore the saved interrupt state. Fixes: fe7fa1332dabd9ce4 ("ARM: vGICv3: handle virtual LPI pending and property tables") Signed-off-by: Ayan Kumar Halder Reviewed-by: Bertrand Marquis Reviewed-by: Andre Przywara Acked-by: Julien Grall Release-acked-by: Henry Wang --- xen/arch/arm/vgic-v3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c index c19691ece0..84dc442fc6 100644 --- a/xen/arch/arm/vgic-v3.c +++ b/xen/arch/arm/vgic-v3.c @@ -582,7 +582,7 @@ static int __vgic_v3_rdistr_rd_mmio_write(struct vcpu *v, mmio_info_t *info, write_atomic(&v->arch.vgic.rdist_pendbase, reg); } - spin_unlock_irqrestore(&v->arch.vgic.lock, false); + spin_unlock_irqrestore(&v->arch.vgic.lock, flags); return 1; } -- 2.30.2